#lang rosetta-racket


(require "arc-truss.rkt")

(provide vault-truss)


(define (vault-truss c ra rb rf n n-phi)
  (let ((e (* 2 rf (sin (/ pi n-phi))))
        (th (asin (/ (* rf (cos (/ pi n-phi))) ra))))
    (for/list ((phi (: < 0 .. < n-phi > .. 2pi <)))
      (arc-truss c ra rb phi th pi/2 e n))))